package design.patterns.behavioral.state;

/**
 * @author gjx
 * @version v1.0
 * @Description
 * @date 2019/4/10 14:49
 */

/**
 * 状态模式
 * 对象的行为依赖于它的状态（属性），并且可以根据它的状态改变而改变它的相关行为
 */
public class Client {
    public static void main(String[] args) {
        Hero hero = new Hero();
        HeroState heroState = new RunHeroState();
        hero.setRunState(heroState);

        hero.attack();
        hero.run();
        hero.attack();
        hero.frozen();
        hero.attack();


    }
}
